Skip to content

Conversation

@lntue
Copy link
Contributor

@lntue lntue commented Apr 5, 2025

No description provided.

@lntue lntue requested review from Prabhuk and petrhosek April 5, 2025 16:26
@llvmbot llvmbot added the libc label Apr 5, 2025
@llvmbot
Copy link
Member

llvmbot commented Apr 5, 2025

@llvm/pr-subscribers-libc

Author: None (lntue)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/134499.diff

3 Files Affected:

  • (modified) libc/src/__support/FPUtil/aarch64/sqrt.h (+8-3)
  • (modified) libc/src/__support/FPUtil/sqrt.h (+1-1)
  • (modified) libc/src/__support/macros/properties/cpu_features.h (+15-3)
diff --git a/libc/src/__support/FPUtil/aarch64/sqrt.h b/libc/src/__support/FPUtil/aarch64/sqrt.h
index b69267ff91f5c..cfd3579f621d0 100644
--- a/libc/src/__support/FPUtil/aarch64/sqrt.h
+++ b/libc/src/__support/FPUtil/aarch64/sqrt.h
@@ -12,8 +12,9 @@
 #include "src/__support/common.h"
 #include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
+#include "src/__support/macros/properties/cpu_features.h"
 
-#if !defined(LIBC_TARGET_ARCH_IS_AARCH64)
+#if !defined(LIBC_TARGET_ARCH_IS_ANY_ARM)
 #error "Invalid include"
 #endif
 
@@ -22,17 +23,21 @@
 namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
+#ifdef LIBC_TARGET_CPU_HAS_ARM_FPU_FLOAT
 template <> LIBC_INLINE float sqrt<float>(float x) {
   float y;
-  __asm__ __volatile__("fsqrt %s0, %s1\n\t" : "=w"(y) : "w"(x));
+  asm("fsqrt %s0, %s1\n\t" : "=w"(y) : "w"(x));
   return y;
 }
+#endif // LIBC_TARGET_CPU_HAS_ARM_FPU_FLOAT
 
+#ifdef LIBC_TARGET_CPU_HAS_ARM_FPU_DOUBLE
 template <> LIBC_INLINE double sqrt<double>(double x) {
   double y;
-  __asm__ __volatile__("fsqrt %d0, %d1\n\t" : "=w"(y) : "w"(x));
+  asm("fsqrt %d0, %d1\n\t" : "=w"(y) : "w"(x));
   return y;
 }
+#endif // LIBC_TARGET_CPU_HAS_ARM_FPU_DOUBLE
 
 } // namespace fputil
 } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/FPUtil/sqrt.h b/libc/src/__support/FPUtil/sqrt.h
index eb86ddfa89d8e..ca9890600168f 100644
--- a/libc/src/__support/FPUtil/sqrt.h
+++ b/libc/src/__support/FPUtil/sqrt.h
@@ -14,7 +14,7 @@
 
 #if defined(LIBC_TARGET_ARCH_IS_X86_64) && defined(LIBC_TARGET_CPU_HAS_SSE2)
 #include "x86_64/sqrt.h"
-#elif defined(LIBC_TARGET_ARCH_IS_AARCH64)
+#elif defined(LIBC_TARGET_ARCH_IS_ANY_ARM)
 #include "aarch64/sqrt.h"
 #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV)
 #include "riscv/sqrt.h"
diff --git a/libc/src/__support/macros/properties/cpu_features.h b/libc/src/__support/macros/properties/cpu_features.h
index 1714775ca334d..47dd8a03613e7 100644
--- a/libc/src/__support/macros/properties/cpu_features.h
+++ b/libc/src/__support/macros/properties/cpu_features.h
@@ -42,18 +42,30 @@
 #define LIBC_TARGET_CPU_HAS_AVX512BW
 #endif
 
+#if defined(__ARM_FP)
+#if (__ARM_FP & 0x2)
+#define LIBC_TARGET_CPU_HAS_ARM_FPU_HALF
+#endif // LIBC_TARGET_CPU_HAS_ARM_FPU_HALF
+#if (__ARM_FP & 0x4)
+#define LIBC_TARGET_CPU_HAS_ARM_FPU_FLOAT
+#endif // LIBC_TARGET_CPU_HAS_ARM_FPU_FLOAT
+#if (__ARM_FP & 0x8)
+#define LIBC_TARGET_CPU_HAS_ARM_FPU_DOUBLE
+#endif // LIBC_TARGET_CPU_HAS_ARM_FPU_DOUBLE
+#endif // __ARM_FP
+
 #if defined(__ARM_FEATURE_FMA) || (defined(__AVX2__) && defined(__FMA__)) ||   \
     defined(__NVPTX__) || defined(__AMDGPU__) || defined(__LIBC_RISCV_USE_FMA)
 #define LIBC_TARGET_CPU_HAS_FMA
 // Provide a more fine-grained control of FMA instruction for ARM targets.
 #if defined(__ARM_FP)
-#if (__ARM_FP & 0x2)
+#if defined(LIBC_TARGET_CPU_HAS_ARM_FPU_HALF)
 #define LIBC_TARGET_CPU_HAS_FMA_HALF
 #endif // LIBC_TARGET_CPU_HAS_FMA_HALF
-#if (__ARM_FP & 0x4)
+#if defined(LIBC_TARGET_CPU_HAS_ARM_FPU_FLOAT)
 #define LIBC_TARGET_CPU_HAS_FMA_FLOAT
 #endif // LIBC_TARGET_CPU_HAS_FMA_FLOAT
-#if (__ARM_FP & 0x8)
+#if defined(LIBC_TARGET_CPU_HAS_ARM_FPU_DOUBLE)
 #define LIBC_TARGET_CPU_HAS_FMA_DOUBLE
 #endif // LIBC_TARGET_CPU_HAS_FMA_DOUBLE
 #else

Copy link
Member

@mikhailramalho mikhailramalho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this approach better than using a builtin, like it's done for fma?

Copy link
Contributor

@jhuber6 jhuber6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The __builtin_elementwise_sqrt seems to work properly, but that's clang only. https://godbolt.org/z/3s9z6G1a9.

@lntue
Copy link
Contributor Author

lntue commented Apr 5, 2025

The __builtin_elementwise_sqrt seems to work properly, but that's clang only. https://godbolt.org/z/3s9z6G1a9.

Updated to use __builtin_elementwise_sqrt if available.

@mikhailramalho
Copy link
Member

Does it have to be element wise? Isn't this only required if the argument is a vector?

@jhuber6
Copy link
Contributor

jhuber6 commented Apr 5, 2025

Does it have to be element wise? Isn't this only required if the argument is a vector?

Yes, __builtin_sqrt is whatever GNU decided it to do, which implies some standard handling. __builtin_elementwise_sqrt is more straightforward and type generic.

@mikhailramalho
Copy link
Member

Does it have to be element wise? Isn't this only required if the argument is a vector?

Yes, __builtin_sqrt is whatever GNU decided it to do, which implies some standard handling. __builtin_elementwise_sqrt is more straightforward and type generic.

I see.

Can we move the implementation out of the platform-specific dirs? Something like https://github.com/llvm/llvm-project/blob/main/libc/src/__support/FPUtil/FMA.h but for sqrt?

@petrhosek
Copy link
Member

It's a bit surprising (and unexpected) for the 32-bit ARM implementation to be in a directory called aarch64, can we move the file to libc/src/__support/FPUtil/arm/sqrt.h? That would also match what we've done for RISC-V.

@llvmbot llvmbot added the bazel "Peripheral" support tier build system: utils/bazel label Apr 6, 2025
@lntue
Copy link
Contributor Author

lntue commented Apr 6, 2025

Does it have to be element wise? Isn't this only required if the argument is a vector?

Yes, __builtin_sqrt is whatever GNU decided it to do, which implies some standard handling. __builtin_elementwise_sqrt is more straightforward and type generic.

I see.

Can we move the implementation out of the platform-specific dirs? Something like https://github.com/llvm/llvm-project/blob/main/libc/src/__support/FPUtil/FMA.h but for sqrt?

Done. I also make riscv support to match arm on the current set up.

@lntue
Copy link
Contributor Author

lntue commented Apr 6, 2025

It's a bit surprising (and unexpected) for the 32-bit ARM implementation to be in a directory called aarch64, can we move the file to libc/src/__support/FPUtil/arm/sqrt.h? That would also match what we've done for RISC-V.

Done.

@jhuber6
Copy link
Contributor

jhuber6 commented Apr 6, 2025

The AMD docs say that f32 sqrt has 1ULP and f64 has (2**29)ULP accuracy. Currently AMDGPU uses the builtins, so we could probably remove src/math/amdgpu and same for nvptx.

@lntue
Copy link
Contributor Author

lntue commented Apr 6, 2025

The AMD docs say that f32 sqrt has 1ULP and f64 has (2**29)ULP accuracy. Currently AMDGPU uses the builtins, so we could probably remove src/math/amdgpu and same for nvptx.

are __builtin_elementwise_sqrt and __builtin_sqrt the same on AMDGPU and NVPTX?

@mikhailramalho
Copy link
Member

Does it have to be element wise? Isn't this only required if the argument is a vector?

Yes, __builtin_sqrt is whatever GNU decided it to do, which implies some standard handling. __builtin_elementwise_sqrt is more straightforward and type generic.

I was talking with Tue yesterday about this. Does it mean that the FMA implementation is incorrect?

I see we also have a LIBC_ADD_FNO_MATH_ERRNO cmake flag to prevent the compiler to generate extra code for the non-elementwise version of the builtin

@lntue
Copy link
Contributor Author

lntue commented Apr 8, 2025

Does it have to be element wise? Isn't this only required if the argument is a vector?

Yes, __builtin_sqrt is whatever GNU decided it to do, which implies some standard handling. __builtin_elementwise_sqrt is more straightforward and type generic.

I was talking with Tue yesterday about this. Does it mean that the FMA implementation is incorrect?

I see we also have a LIBC_ADD_FNO_MATH_ERRNO cmake flag to prevent the compiler to generate extra code for the non-elementwise version of the builtin

By incorrect, you mean not respecting the errno requirements (sometime) then yes, I think that's the current behavior. And it needs to be fixed and clean up a bit. I'll need to separate fma used for complete fma functions, and fma used for internal computations. Right now they are a bit mixing with each other.

@mikhailramalho
Copy link
Member

Does it have to be element wise? Isn't this only required if the argument is a vector?

Yes, __builtin_sqrt is whatever GNU decided it to do, which implies some standard handling. __builtin_elementwise_sqrt is more straightforward and type generic.

I was talking with Tue yesterday about this. Does it mean that the FMA implementation is incorrect?
I see we also have a LIBC_ADD_FNO_MATH_ERRNO cmake flag to prevent the compiler to generate extra code for the non-elementwise version of the builtin

By incorrect, you mean not respecting the errno requirements (sometime) then yes, I think that's the current behavior. And it needs to be fixed and clean up a bit. I'll need to separate fma used for complete fma functions, and fma used for internal computations. Right now they are a bit mixing with each other.

Thanks for the explanation, and sorry for dragging this on. I thought we should be following the pattern used for fma.

Copy link
Member

@mikhailramalho mikhailramalho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

#if defined(LIBC_TARGET_CPU_HAS_FPU_FLOAT) || \
defined(LIBC_TARGET_CPU_HAS_FPU_DOUBLE)

#if __has_builtin(__builtin_elementwise_sqrt)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clang will always evaluate this to 1 and if the target doesn't support this instruction natively it'll lower __builtin_elementwise_sqrt to a call to sqrt (or sqrtf) which is a problem when __builtin_elementwise_sqrt is used to implement sqrt (or sqrtf).

I think we'll need a CMake check that compiles __builtin_elementwise_sqrt and checks if the resulting object file has a reference to sqrt. https://github.com/llvm/llvm-project/blob/36cb81cced6cb9ab8a68a4313963d4ccf7669e76/compiler-rt/cmake/Modules/CheckSectionExists.cmake is an example of such a check. Let me know if you need help with this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

even __ARM_FP flag does not guard this correctly?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like __ARM_FP is sufficient to check if sqrt is supported by the target (at least based on my local testing) so ignore my comment.

@lntue lntue merged commit cf7d34a into llvm:main Apr 9, 2025
16 checks passed
@lntue lntue deleted the arm branch April 9, 2025 02:14
@llvm-ci
Copy link
Collaborator

llvm-ci commented Apr 9, 2025

LLVM Buildbot has detected a new failure on builder libc-riscv64-debian-fullbuild-dbg running on libc-riscv64-debian while building libc,utils at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/183/builds/12004

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[365/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10f.__NO_FMA_OPT.__internal__.dir/exp10f.cpp.o
[366/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.dir/expm1.cpp.o
[367/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.__internal__.dir/expm1f.cpp.o
[368/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.__internal__.dir/expm1.cpp.o
[369/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.dir/expm1f.cpp.o
[370/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.__NO_FMA_OPT.__internal__.dir/expm1.cpp.o
[371/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.__NO_FMA_OPT.dir/expm1f.cpp.o
[372/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.__NO_FMA_OPT.__internal__.dir/expm1f.cpp.o
[373/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.__NO_FMA_OPT.dir/expm1.cpp.o
[374/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[375/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[376/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[377/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/pow.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/pow.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[378/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/pow.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/pow.cpp:20:
Step 8 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[365/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10f.__NO_FMA_OPT.__internal__.dir/exp10f.cpp.o
[366/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.dir/expm1.cpp.o
[367/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.__internal__.dir/expm1f.cpp.o
[368/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.__internal__.dir/expm1.cpp.o
[369/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.dir/expm1f.cpp.o
[370/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.__NO_FMA_OPT.__internal__.dir/expm1.cpp.o
[371/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.__NO_FMA_OPT.dir/expm1f.cpp.o
[372/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.__NO_FMA_OPT.__internal__.dir/expm1f.cpp.o
[373/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.__NO_FMA_OPT.dir/expm1.cpp.o
[374/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[375/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[376/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[377/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.__internal__.dir/pow.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/pow.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/pow.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[378/4587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/pow.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/math/generic/pow.cpp:20:

@llvm-ci
Copy link
Collaborator

llvm-ci commented Apr 9, 2025

LLVM Buildbot has detected a new failure on builder libc-riscv64-debian-dbg running on libc-riscv64-debian while building libc,utils at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/188/builds/12907

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[122/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expf.dir/expf.cpp.o
[123/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2f.dir/exp2f.cpp.o
[124/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2m1f.dir/exp2m1f.cpp.o
[125/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp.dir/exp.cpp.o
[126/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2.dir/exp2.cpp.o
[127/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10f.dir/exp10f.cpp.o
[128/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.dir/expm1f.cpp.o
[129/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10.dir/exp10.cpp.o
[130/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.dir/expm1.cpp.o
[131/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[132/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/math/generic/pow.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/math/generic/pow.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[133/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.copysign.dir/copysign.cpp.o
[134/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.copysignf.dir/copysignf.cpp.o
[135/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.copysignl.dir/copysignl.cpp.o
[136/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.copysignf128.dir/copysignf128.cpp.o
ninja: build stopped: subcommand failed.
['ninja', 'libc'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 164, in step
    yield
  File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 126, in main
    run_command(['ninja', 'libc'])
  File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 179, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', 'libc']' returned non-zero exit status 1.
@@@STEP_FAILURE@@@
@@@BUILD_STEP libc-unit-tests@@@
Running: ninja libc-unit-tests
Step 6 (build libc) failure: build libc (failure)
...
[122/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expf.dir/expf.cpp.o
[123/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2f.dir/exp2f.cpp.o
[124/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2m1f.dir/exp2m1f.cpp.o
[125/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp.dir/exp.cpp.o
[126/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2.dir/exp2.cpp.o
[127/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10f.dir/exp10f.cpp.o
[128/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.dir/expm1f.cpp.o
[129/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10.dir/exp10.cpp.o
[130/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.dir/expm1.cpp.o
[131/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[132/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -D__LIBC_RISCV_USE_FMA -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/math/generic/pow.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/math/generic/pow.cpp:20:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:48:
/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-project/libc/src/__support/FPUtil/riscv/sqrt.h:32:35: error: expected value in expression
#if LIBC_TARGET_CPU_HAS_FPU_DOUBLE
                                  ^
1 error generated.
[133/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.copysign.dir/copysign.cpp.o
[134/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.copysignf.dir/copysignf.cpp.o
[135/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.copysignl.dir/copysignl.cpp.o
[136/587] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.copysignf128.dir/copysignf128.cpp.o
ninja: build stopped: subcommand failed.
['ninja', 'libc'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 164, in step
    yield
  File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 126, in main
    run_command(['ninja', 'libc'])
  File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 179, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-dbg/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', 'libc']' returned non-zero exit status 1.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Apr 9, 2025

LLVM Buildbot has detected a new failure on builder libc-arm32-debian-dbg running on libc-arm32-debian while building libc,utils at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/182/builds/9788

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[80/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.erff.dir/erff.cpp.o
[81/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp.dir/exp.cpp.o
[82/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expf.dir/expf.cpp.o
[83/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2f.dir/exp2f.cpp.o
[84/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2.dir/exp2.cpp.o
[85/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10f.dir/exp10f.cpp.o
[86/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10.dir/exp10.cpp.o
[87/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.dir/expm1f.cpp.o
[88/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.dir/expm1.cpp.o
[89/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o 
/llvm/llvm-install/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc -isystem /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -c /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:46:
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:27:7: error: invalid operand in inline asm: 'fsqrt ${0:s}, ${1:s}	'
  asm("fsqrt %s0, %s1\n\t" : "=w"(y) : "w"(x));
      ^
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:27:7: error: invalid operand in inline asm: 'fsqrt ${0:s}, ${1:s}	'
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:27:7: error: unexpected token in operand
<inline asm>:1:8: note: instantiated into assembly here
        fsqrt , 
              ^
3 errors generated.
[90/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o 
/llvm/llvm-install/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc -isystem /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -c /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/math/generic/pow.cpp
In file included from /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/math/generic/pow.cpp:20:
In file included from /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:46:
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:35:7: error: invalid operand in inline asm: 'fsqrt ${0:d}, ${1:d}	'
  asm("fsqrt %d0, %d1\n\t" : "=w"(y) : "w"(x));
      ^
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:35:7: error: invalid operand in inline asm: 'fsqrt ${0:d}, ${1:d}	'
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:35:7: error: unexpected token in operand
<inline asm>:1:8: note: instantiated into assembly here
        fsqrt , 
              ^
3 errors generated.
ninja: build stopped: subcommand failed.
['ninja', 'libc'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 164, in step
    yield
  File "/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 126, in main
    run_command(['ninja', 'libc'])
  File "/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 179, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
Step 6 (build libc) failure: build libc (failure)
...
[80/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.erff.dir/erff.cpp.o
[81/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp.dir/exp.cpp.o
[82/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expf.dir/expf.cpp.o
[83/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2f.dir/exp2f.cpp.o
[84/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp2.dir/exp2.cpp.o
[85/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10f.dir/exp10f.cpp.o
[86/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.exp10.dir/exp10.cpp.o
[87/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1f.dir/expm1f.cpp.o
[88/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.expm1.dir/expm1.cpp.o
[89/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o 
/llvm/llvm-install/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc -isystem /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -c /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/math/generic/powf.cpp
In file included from /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/math/generic/powf.cpp:20:
In file included from /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:46:
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:27:7: error: invalid operand in inline asm: 'fsqrt ${0:s}, ${1:s}	'
  asm("fsqrt %s0, %s1\n\t" : "=w"(y) : "w"(x));
      ^
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:27:7: error: invalid operand in inline asm: 'fsqrt ${0:s}, ${1:s}	'
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:27:7: error: unexpected token in operand
<inline asm>:1:8: note: instantiated into assembly here
        fsqrt , 
              ^
3 errors generated.
[90/364] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o 
/llvm/llvm-install/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc -isystem /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.pow.dir/pow.cpp.o -c /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/math/generic/pow.cpp
In file included from /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/math/generic/pow.cpp:20:
In file included from /llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/sqrt.h:46:
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:35:7: error: invalid operand in inline asm: 'fsqrt ${0:d}, ${1:d}	'
  asm("fsqrt %d0, %d1\n\t" : "=w"(y) : "w"(x));
      ^
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:35:7: error: invalid operand in inline asm: 'fsqrt ${0:d}, ${1:d}	'
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/arm/sqrt.h:35:7: error: unexpected token in operand
<inline asm>:1:8: note: instantiated into assembly here
        fsqrt , 
              ^
3 errors generated.
ninja: build stopped: subcommand failed.
['ninja', 'libc'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 164, in step
    yield
  File "/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 126, in main
    run_command(['ninja', 'libc'])
  File "/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 179, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bazel "Peripheral" support tier build system: utils/bazel libc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants